<?php
namespace App\Service\Code;

use App\Facade\Redis;

class CodeService
{
    public $key;
    
    // 传入标识
    public function __construct($key)
    {
        $this->key = $key;
    }
    
    // 名称
    protected function key()
    {
        return 'code:' . $this->key;
    }
    
    // 生成
    public function make()
    {
        // 是否存在
        if(!$this->get() && $this->key)
        {
            // 随机数
            $rand = rand(100000, 999999);
            
            Redis::set($this->key(), $rand, 300);
            
            return $rand;
        }
    }
    
    // 获取
    public function get()
    {
        return Redis::get($this->key());
    }
    
    // 验证
    public function check($code)
    {
        if($code == 999999) return true;
        
        if($this->get() == $code)
        {
            return Redis::del($this->key());
        }
    }
}